package com.fm.base.json;

public interface JsonReader<O extends JsonObject, A extends JsonArray> {
	/**
	 * @return JsonStructure
	 * @throws com.fm.base.json.exception.JsonTypeException
	 * @throws javax.json.JsonException
	 */
	JsonStructure read();

	/**
	 * @return JsonObject
	 * @throws com.fm.base.json.exception.JsonTypeException
	 * @throws javax.json.JsonException
	 */
	O readJsonObject();

	/**
	 * @return JsonArray
	 * @throws com.fm.base.json.exception.JsonTypeException
	 * @throws javax.json.JsonException
	 */
	A readJsonArray();
}